<?php
class CommentModel extends Model
{
    function __construct()
    {
        $this->loadTable('comment');
    }

    public function handleAdd()
    {
        $errorFlag = FALSE;
        $errorMessage = array();
//        var_dump($_POST);exit();
        if(strlen($_POST['author_name']) == 0 || strlen($_POST['author_name']) > 30)
        {
            $errorFlag = TRUE;
            $errorMessage[] = "Phần tên không được để trống hoặc vượt quá 30 kí tự !";
        }

        if (strlen($_POST['author_email']) == 0 || strlen($_POST['author_email']) > 100)
        {
            $errorFlag = TRUE;
            $errorMessage[] = "Địa chỉ email không được để trống hoặc vượt quá 100 kí tự !";
        }

        if (strlen($_POST['detail']) == 0 || strlen($_POST['detail']) > 1000)
        {
            $errorFlag = TRUE;
            $errorMessage[] = "Nội dung bình luận không được để trống hoặc vượt quá 1000 kí tự!";
        }

        if(is_null($_POST['post_id']))
        {
            $errorFlag = TRUE;
            $errorMessage[] = "Có lỗi xảy ra, hãy thử lại";
        }

        global $private_key;
        $resp = recaptcha_check_answer ($private_key,
                                        $_SERVER["REMOTE_ADDR"],
                                        $_POST["recaptcha_challenge_field"],
                                        $_POST["recaptcha_response_field"]);

        if (!$resp->is_valid){
            $errorFlag = TRUE;
            $errorMessage[] = 'Bạn vui lòng nhập đúng 2 từ mã kiểm tra để tránh spam. Cảm ơn bạn!';
        }

        if($errorFlag)
        {
            $result['onError'] = TRUE;
            $result['errorMessage'] =& $errorMessage;
            return $result;
        }
        else
        {
            $result['onError'] = FALSE;
            $this->tables['comment']->set('author_name', htmlentities($_POST['author_name'], ENT_QUOTES, "UTF-8"));
            $this->tables['comment']->set('author_email', htmlentities($_POST['author_email'], ENT_QUOTES, "UTF-8"));
            $this->tables['comment']->set('detail', htmlentities($_POST['detail'], ENT_QUOTES, "UTF-8"));
            $this->tables['comment']->set('post_id', $_POST['post_id']);
            $this->tables['comment']->insert();
            $result['cmt_message'] = "Bình luận được gửi thành công !";
            return $result;
        }
    }

    public function getCommentList($post_id)
    {
        return $this->tables['comment']->get(array('post_id' => $post_id));
    }

    public function remove($id)
    {
        $this->tables['comment']->remove(array('id' => $id));
    }
}